-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Package pplumbing.0.0.13 #27912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Package pplumbing.0.0.13 #27912
Conversation
Thanks for the contribution @mbarbin! The CI failures seem to be for flambda variants (again), and other than that, it looks good to me. Can you confirm @shonfeder? |
Thanks @Zeta611 - In case this helps : I have no time pressure to release, if we prefer to think a bit more about these CI failures and whether to try some amends on the package side, it is fine with me. Thank you. |
Looking the CI results more carefully, I think the reason we are seeing a CI failure in your packagss on flambda (and not in any other packages I've seen), is because of how you are configuring the warning behavior in your builds? The error is
And we see that this is actually just a warning. From Drup has noted that
But you have configured -warn-error +a, which makes all warnings as fatal errors. IIUC
I am OK with merging this as is, but would you like to try fixing the build rules so people could install this using flambda in ocaml 4.14 (and perhaps in other context where warnings might occur)? |
Thanks a lot, this is really helpful. My attention wasn't on the warnings, and this is new information for me. I'll take some time to reflect on this. This particular setup is pretty pervasive on my side, but it doesn't mean I can't adjust. Let's hold on for, as I consider some amends on my side, experiment some more with dev mode. etc. Thanks! |
@shonfeder I tried locally with an opam switch that has the same options as with the one failing in the CI:
The error was the same locally, up to a good start! File "_none_", line 1:
Error (warning 58 [no-cmx-file]): no cmx file was found in path for module Stdune__User_message, and its interface was not compiled with -opaque I tried next to disable diff --git a/dune-project b/dune-project
index 7bb7fbe..bd24c54 100644
--- a/dune-project
+++ b/dune-project
@@ -17,7 +17,8 @@
-(implicit_transitive_deps false)
+;; CR mbarbin: Trying without this to see whether this impacts the warning.
+;; (implicit_transitive_deps false) With this change, there was no warning generated. So, I was not completely wrong suspecting the error had something to do with this option. Where I am now in my understanding is that compiling with this flambda switch with ocaml-4.14 and I am torn about what to do, still thinking a bit. On one hand I can see that not treating the warning as error would work, but this doesn't feel right to me at the moment. If anything, if I decided that I was "happy" with warning But, also, this shows some issues with My latest thought is that I am tempted to remove |
Closing in favor of #27924 |
In my opinion, warnings should never be treated as errors when building in the release profile,as the nature of warnings is that they should not prevent correct or safe use of a project, which is what users of a release care about. |
I hear you. To say a few words about an opposing view, I feel there is something unsettling as a library author, about letting users run a somewhat A unfair example, but if you think of unused values warning for example, in my experience they're very often the symptom of an actual bug. As a caring user, I fear being discouraged by projects whose build output contains unattended warnings. This may be completely untenable of a stand, I grant you that! I need time to think about it. Thanks a lot for the discussion! |
pplumbing.0.0.13
Utility libraries to use with pp
[pplumbing] defines a set of utility libraries to use with pp. It
is compatible with logs and inspired by design choices used by
dune for user messages:
[Pp_tty] extends pp to build colored documents in the user's
terminal using ansi escape codes.
[Err] is an abstraction to report located errors and warnings to
the user.
[Log] is an interface to logs using [Pp_tty] rather than [Format].
[Log_cli] contains functions to work with [Err] on the side of end
programs (such as a command line tool). It defines command line
helpers to configure the [Err] library, while taking care of setting
the logs and fmt style rendering.
[Cmdlang_cmdliner_runner] is a library for running command line
programs specified with cmdlang with cmdliner as a backend and
making opinionated choices, assuming your dependencies are using
[Err].
These libraries are meant to combine nicely into a small ecosystem of
useful helpers to build CLIs in OCaml.
🐫 Pull-request generated by opam-publish v2.5.1